/**
 * 
 */
package projeto.modelo.repositorio;
import java.util.Collection;

import projeto.erro.ConexaoException;
import projeto.erro.RepositorioException;
import projeto.modelo.to.Usuario;

/**
 * @author Thiago Evoa
 *
 */
public interface IRepositorioUsuario {

	/**
	 * Insere um Usuario no banco de dados
	 * @param us Usuario
	 * @throws ConexaoException
	 * @throws RepositorioException
	 */
	
	public void salvar (Usuario us) throws ConexaoException, RepositorioException;
	
	/**
	 * Excluir um Usuario no banco de dados
	 * @param funcionarios_Codigo
	 * @throws ConexaoException
	 * @throws RepositorioException
	 */
	
	public void excluir (int funcionarios_Codigo) throws ConexaoException, RepositorioException;
	
	/**
	 * Alterar um Usuario no banco de dados
	 * @param us
	 * @throws ConexaoException
	 * @throws RepositorioException
	 */
	
	public void alterar (Usuario us) throws ConexaoException, RepositorioException;
	
	/**
	 * Consultar um Usuario no banco de dados
	 * @param funcionarios_Codigo
	 * @throws ConexaoException
	 * @throws RepositorioException
	 */
	
	public Usuario consultar (int funcionarios_Codigo) throws ConexaoException, RepositorioException;
	
	/**
	 * Mostra uma lista de Usuarios
	 * @return
	 * @throws ConexaoException
	 * @throws RepositorioException
	 */
	
	public Collection <Usuario> listar (int funcionarios_Codigo) throws ConexaoException, RepositorioException;
	
}
